1. FIELD OF THE INVENTION
This invention relates to a printer utilized as an output unit of a personal computer or the like.
2. DESCRIPTION OF THE RELATED ART
Recently, a high speed and high-grade functions have been required for the printer. Especially, a printer of an electrophotographic type using an array of laser diodes or light emitting diodes (LED's) as a light source has a high printing speed and high sprinting quality and is gaining a remarkably widespread field of utilization. Naturally, a printer operative at high speeds is required to have high capability of processing print data. Print data can be processed in various ways but principally the type of processing may be classified into two kinds.
The two kinds of processing types will now be described with respect to conventional examples in conjunction with the accompanying drawings. FIG. 2 is a block diagram schematically illustrating a conventional printer according to one of the two kinds of processing types which is a page memory type. A printer 1 is divided into a controller unit 1a for processing print data sent from a host computer 2 and a printing unit 1b for printing onto paper. The controller unit 1a comprises a CPU 3 for controlling data processing, a program ROM 4 for storing programs necessary for the operation of the CPU 3, a font ROM 5 for storing font data corresponding to letter codes, an interface 6 for receiving print data from the host computer 2, a page memory 14 for storing image data for one page, a barrel shifter 7 for writing a font in the page memory 14 while shifting the font, and a parallel/serial converter 10 for reading the image data stored in the page memory 14 and converting the read-out data into serial data which is then outputted to the printing unit 1b. The printing unit 1b comprises a printing mechanism 12 and a printing mechanism controller 11 for controlling the operation of the printing mechanism 12.
The operation of the conventional printer of the page memory type having the above-described construction will be described with reference to the process chart shown in FIG. 4. At (a) in FIG. 4, the printer 1 receives letter codes from the host computer 2. The letter codes are assigned in one-to-one correspondence to individual letters, whereby, for example, a letter code 61H is selected to represent an alphabetical lowercase letter "a". The CPU 3 interprets the letter codes, reads corresponding font data from the font ROM 5, and writes the read-out data in the page memory 14. The font data is read out from the font ROM 5 in a byte unit or in a word unit. In order that a font is positioned at desired bit positions on the page memory 14, the readout font data is stored in the page memory 14 via the barrel shifter 7. In this manner, data for one page corresponding directly to images to be printed is prepared in the page memory 14, as shown at (b) in FIG. 4. After completion of preparation of images for one page, the controller unit 1a drives the printing unit 1b, and, at the same time, starts outputting of the print data. The print data is converted from parallel data to serial data at every raster through the parallel/serial converter 10 and the resultant serial data is outputted to the printing mechanism controller 11 to obtain printed results as shown at (c) in FIG. 4.
As is understood from the foregoing, a conventional printer of the page memory type is advantageous in that data corresponding directly to images for one page to be printed can be stored, while, on the other hand, it is disadvantageous in that a very large memory capacity is required. For example, in order to print a letter paper (8.5 inches.times.11 inches) at the resolution of 300 dots/ inch, a memory capacity of about 1 MB (1 mega byte) is required. To eliminate the above disadvantage, a printer of the other type called a video band buffer type (hereinafter simply referred to as VBB type) is used wherein printing is performed using an image development area of 1/n page.
A conventional printer of the VBB type will now be described with reference to the accompanying drawings. FIG. 3 is a block diagram schematically illustrating a conventional printer of the VBB type. A printer 1 is divided into a controller unit 1a' for processing print data sent from a host computer 2 and a printing unit 1b for printing a print paper. The printing unit 1b has the same construction as that of the aforementioned printer of the page memory type. The controller unit 1a' comprises a CPU 3 for controlling data processing, a program ROM 4 for storing programs necessary for the operation of the CPU 3, a font ROM 5 for storing font data corresponding to letter codes, an interface 6 for receiving print data from the host computer 2, a text memory 8 for storing letter codes for one page in the form of a group of texts, a video band buffer (VBB) 9 for storing image data for 1/n page, a barrel shifter 7 for writing a font in the VBB 9 while shifting the font, and a parallel/serial converter 10 for reading image data stored in the VBB 9 and converting the read-out data into serial data which is then outputted to the printing unit 1b.
The operation of the conventional printer of the VBB type having the above-described construction will be described with reference to the process chart shown in FIG. 4. At (a) in FIG. 4, the printer 1 receives letter codes from the host computer 2. The CPU 3 interprets the letter codes and prepares a text including the letter codes and the information added thereto for indicating writing positions at which the letters are to be written in the VBB 9. Thus, a group of texts corresponding to the letter codes for one page are prepared in the text memory 8 as shown at (d) in FIG. 4. After completion of preparation of a group of texts for one page, the CPU 3 interprets the texts starting from a top one and writes a font in the VBB 9. Since the VBB 9 has a memory capacity only for 1/n page, the CPU 3 is initially allowed to interpret the texts only for 1/n page. At the time when images for 1/n page are completed, the CPU 3 drives the printing unit 1b to start printing, as shown at (e) in FIG. 4. Concurrently therewith, the print data is outputted at every raster from the VBB 9 to the parallel/serial converter 10 so as to be converted into serial data which is then outputted to the printing mechanism controller 11. The outputting of print data at every raster causes an empty area to be produced in the VBB 9. Each time an empty area occurs, the CPU 3 writes a font for the next line in the VBB 9. In this manner, outputting from the VBB 9 and writing of a font in the VBB 9 are repeated alternately and printing for one page can be accomplished, thereby obtaining print results as shown at (f) in FIG. 4. Thus, even though the VBB 9 normally has the structure of a ring buffer and has a nominal capacity only of 1/n page, it can be used as having an infinite capacity in terms of a virtual address space.
As is apparent from the foregoing, as compared with a conventional printer of the page memory type, a conventional printer of the VBB type can perform printing by using the VBB of a reduced capacity of 1/n page and the text memory of a small capacity, so that the latter printer is advantageous in reducing the memory capacity to a great extent.
However, with a conventional printer of the above-mentioned VBB type, as the letter data density increases, it takes a long time for the CPU 3 to write data in the VBB 9, and, as a result, a conventional printer of the VBB type is disadvantageous in that the speed of outputting print data from the VBB 9 overtakes the speed of writing data in the VBB 9, which causes an overrun error to occur, thereby making it impossible to perform printing.